//Header file 
//MRJ OS

/*****************************************************
Version History
V1.0 - NO HEADER FILE
V1.1 - Now with header file
*****************************************************/

//Logic Constants
#define TRUE  1
#define FALSE 0

//Command Constants

#define BUF_LEN 80

//PCB Constants
#define PCB_CLASS_SYSTEM 	0
#define PCB_CLASS_APP 		1
#define PCB_Stack_Size   2048

#define PCB_STATE_RUN 		0
#define PCB_STATE_RDY 		1
#define PCB_STATE_BLK		2

#define PCB_FLAG_FREE		0
#define PCB_FLAG_SUSP		1

//Structures

typedef float VERSION = 1.1;

typedef struct pcb{
	unsigned char* name;
	int Pclass; //process class (system or application process)
	int priority;
	int state;
	int susp;
	int memSize;
	unsigned char* stackT;
	unsigned char* stackB;
	unsigned char* locAddr;
	unsigned char* excAddr;
}
;
void setPCB(char* name, int priority, int Pclass); //Set up PCB Function Proto
	
void allocPCB(); //Allocate Memory for PCB Function Proto	
